1. Field of the Invention
The present invention is generally related to computer-simulated three-dimensional (3D) environments. More specifically, the present invention is related to user interfaces and controls for computer-simulated 3D environments.
2. Background
Great advances have been made in the technology of computer-simulated 3D environments. In particular, great advances have been made in the building and simulation of real-time user-interactive virtual reality (“VR”) environments. These advances include achievements in the areas of VR database construction, visual and audio realism, stereoscopy, real-time performance, complex data handling, display environments and group VR. As a result of these advances, it has become possible to build and simulate real-time VR environments with extremely high levels of realism for both individual and group interaction.
However, vast improvements are still needed in the area of user navigation in virtual environments. As used herein, the term “user navigation” includes both the control interface by which a user interacts with a virtual environment as well as the eye-point model (also referred to as the “gaze-point model” or “camera”) that dictates the user's view of the simulation.
Generally speaking, conventional VR control interfaces are either too crude or overly-complex. Where the interface is too crude, the ability of a user to interact with a virtual environment is severely limited, thus detracting from the overall effectiveness of the simulation. Where the interface is too complex, extensive training or the assistance of a specialist may be required in order to successfully move through and/or interact in the simulation. Unless an improved navigation control interface is developed that is intuitive and easy to use, the transition of VR from the lab to industry will be hindered. The development of such a control interface would not only be welcomed by businesses that traditionally use VR, but will also be a critical factor in bridging VR applications to new markets and wider audiences.
Conventional navigation tools also typically fail to provide natural, cinematic-style eye-point modeling, or can only provide such modeling at the expense of real-time interactivity. No matter how realistic a simulation may be, a poor eye-point model can destroy the sense of immersion that the simulation is designed to create. In extreme cases, an unnatural eye-point model can cause disorientation or nausea on the part of the audience.
Conventional user navigation solutions may be grouped into the following three categories: (i) navigation tools that are provided with conventional 3D rendering toolkits; (ii) navigation models built on keyframe technology; and (iii) highly-specialized custom and proprietary VR navigation interfaces developed for the simulator industry. As will be discussed below, none of these solutions provides the combination of an intuitive, easy-to-use control interface for real-time interaction, natural, cinematic eye-point modeling, and general applicability to a variety of virtual environments.
The navigation tools that are provided with conventional 3D rendering toolkits are typically primitive and inflexible. This is largely due to the fact that designers of these toolkits have focused on features related to simulation building and performance, rather than on navigation. These navigation tools can be frustrating to use because they provide only a minimal level of control and very limited options for exploring a virtual environment. Additionally, these navigation tools often use crude eye-point motion models that can cause jarring visual effects that are unpleasant for the user. In extreme cases, these visual effects can cause disorientation and nausea on the part of the user.
Keyframe technology is the traditional approach for providing smooth, cinematic navigation through simulated 3D environments. The use of keyframes involves creating a spline path through a 3D scene. The eye-point is then replayed along the path to create a smooth and natural-feeling motion. A disadvantage of this technique is that it requires considerable editing of paths prior to operation. Additionally, the use of this technique typically prohibits real-time user control, limiting the user to linear movement along a predefined path with a predefined point of view. Where real-time control is required, it must be pre-planned. Consequently, this technique does not take into account unplanned requests or the ability to branch at will. In effect, the use of keyframes provides an experience more akin to viewing a fixed animation than to actual interactive navigation.
The highly-specialized custom and proprietary VR navigation interfaces developed for the simulator industry are typically only effective for the specific application for which they were designed. For example, these navigation interfaces typically simulate only a specific type of vehicle for interacting with a single type of virtual environment. Furthermore, these navigation interfaces are usually a hard-coded part of the simulator itself, prohibiting user modification or adaptation for application to other virtual environments. As a result, these interfaces have no general applicability.
What is needed, then, is a general-purpose navigation tool that provides intuitive, easily controlled navigation in a variety of complex virtual environments. The desired navigation tool should enable an end user to rapidly construct realistic navigation models for natural interaction with a variety of complex virtual environments. The desired navigation tool should also provide an intuitive control mechanism that requires minimal training to use. The desired navigation tool should further enable complex, cinema style, eye-point control in real-time. Finally, the desired navigation tool should also be flexible, adaptive and easy to modify and enhance.